package cn.ahaoweb.drule.core.model.info;

import lombok.Data;

import java.io.Serializable;
import java.lang.reflect.Type;
import java.util.Map;

/**
 * @Name: 基本信息
 * @Description:
 * @Author: wangzhonghao
 * @Date: 2025/1/26 16:18
 */
@Data
public class BaseInfo implements Serializable {

    // 中文名称
    private String name;

    // 编码(类名，字段名)
    private String code;

    /**
     *  路径（从root对象定位到该字段的路径），示例：
     *  <pre>
     *      BaseInfo的path字段: baseInfo.path
     *      BaseInfo的code字段: baseInfo.code
     *  </pre>
     */
    private String path;

    /**
     * 该字段类型的全限定名（还要包含泛型信息），等价于{@link Type#getTypeName()}
     */
    private String fqcn;

    // 附加属性
    private Map<String,String> properties;

}
